package TP1.implementation;

import TP1.Elemento;
import TP1.TDA.ColaVIPTDA;

public class ColaVIPArrayImpl1 implements ColaVIPTDA {
	private Elemento[] vec;
	private static final int MAX = 100;
	private int cant;

	public void inicializar() {
		cant = 0;
		vec = new Elemento[MAX];
	}

	public boolean vacia() {
		return (cant == 0);
	}

	public void acolar(int valor, int prioridad) {
		Elemento nuevo = new Elemento(valor, prioridad);

		if (cant > 0) {
			int i = cant - 1;
			while (i >= 0 && vec[i].getPrioridad() >= nuevo.getPrioridad()) {
				vec[i + 1] = vec[i];
				i--;
			}
			vec[i + 1] = nuevo;
		} else {
			vec[0] = nuevo;
		}
		cant++;
	}

	public void descolar() {
		vec[--cant] = null;
	}

	public int valorPrimero() {
		return vec[cant - 1].getValor();
	}

	public int prioridadPrimero() {
		return vec[cant - 1].getPrioridad();
	}

}
